package com.ruoyi.receipt.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 手机端用户信息对象 tb_user
 *
 * @author ruoyi
 * @date 2021-04-01
 */
public class TbUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 登录账户(手机号) */
    @Excel(name = "登录账户(手机号)")
    private String loginAccount;

    /** 密码(大于六位,不做复杂度校验) */
    @Excel(name = "密码(大于六位,不做复杂度校验)")
    private String pwd;

    /** 类型 1家长 2学生 */
    @Excel(name = "类型 1家长 2学生")
    private Integer type;

    /** 微信openid */
    @Excel(name = "微信openid")
    private String openId;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickName;

    /** 头像 */
    @Excel(name = "头像")
    private String headUrl;

    /** 会员等级 0(默认值) */
    @Excel(name = "会员等级 0(默认值)")
    private Integer memberLevel;

    /** 年龄 */
    @Excel(name = "年龄")
    private Integer age;

    /** 学校 */
    @Excel(name = "学校")
    private String school;

    /** 班级 */
    @Excel(name = "班级")
    private String classes;

    /** 年级->dict_grade */
    @Excel(name = "年级->dict_grade")
    private Integer grade;

    /** 关系->dict_relation */
    @Excel(name = "关系->dict_relation")
    private Integer relation;

    /** 性别->dict_sex */
    @Excel(name = "性别->dict_sex")
    private Integer sex;

    /** 文化程度->dict_eavel_of_edu */
    @Excel(name = "文化程度->dict_eavel_of_edu")
    private Integer leavelOfEdu;

    /** 政治面貌->dict_political */
    @Excel(name = "政治面貌->dict_political")
    private Integer political;

    /** 职务 */
    @Excel(name = "职务")
    private String duties;

    /** 工作单位 */
    @Excel(name = "工作单位")
    private String workUnit;

    /** 身份证 */
    @Excel(name = "身份证")
    private String idCar;

    /** 旧登录账户(手机号) */
    @Excel(name = "旧登录账户(手机号)")
    private String oldLoginAccount;

    /** 是否重置信息 0(默认不重置) 1重置 */
    @Excel(name = "是否重置信息 0(默认不重置) 1重置")
    private Integer isReset;

    /** 设备id */
    @Excel(name = "设备id")
    private String deviceId;

    /** 最后登陆日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登陆日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 删除状态 0未删除(默认) 1已删除 */
    @Excel(name = "删除状态 0未删除(默认) 1已删除")
    private Integer isDel;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setLoginAccount(String loginAccount)
    {
        this.loginAccount = loginAccount;
    }

    public String getLoginAccount()
    {
        return loginAccount;
    }
    public void setPwd(String pwd)
    {
        this.pwd = pwd;
    }

    public String getPwd()
    {
        return pwd;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setOpenId(String openId)
    {
        this.openId = openId;
    }

    public String getOpenId()
    {
        return openId;
    }
    public void setRealName(String realName)
    {
        this.realName = realName;
    }

    public String getRealName()
    {
        return realName;
    }
    public void setNickName(String nickName)
    {
        this.nickName = nickName;
    }

    public String getNickName()
    {
        return nickName;
    }
    public void setHeadUrl(String headUrl)
    {
        this.headUrl = headUrl;
    }

    public String getHeadUrl()
    {
        return headUrl;
    }
    public void setMemberLevel(Integer memberLevel)
    {
        this.memberLevel = memberLevel;
    }

    public Integer getMemberLevel()
    {
        return memberLevel;
    }
    public void setAge(Integer age)
    {
        this.age = age;
    }

    public Integer getAge()
    {
        return age;
    }
    public void setSchool(String school)
    {
        this.school = school;
    }

    public String getSchool()
    {
        return school;
    }
    public void setClasses(String classes)
    {
        this.classes = classes;
    }

    public String getClasses()
    {
        return classes;
    }
    public void setGrade(Integer grade)
    {
        this.grade = grade;
    }

    public Integer getGrade()
    {
        return grade;
    }
    public void setRelation(Integer relation)
    {
        this.relation = relation;
    }

    public Integer getRelation()
    {
        return relation;
    }
    public void setSex(Integer sex)
    {
        this.sex = sex;
    }

    public Integer getSex()
    {
        return sex;
    }
    public void setLeavelOfEdu(Integer leavelOfEdu)
    {
        this.leavelOfEdu = leavelOfEdu;
    }

    public Integer getLeavelOfEdu()
    {
        return leavelOfEdu;
    }
    public void setPolitical(Integer political)
    {
        this.political = political;
    }

    public Integer getPolitical()
    {
        return political;
    }
    public void setDuties(String duties)
    {
        this.duties = duties;
    }

    public String getDuties()
    {
        return duties;
    }
    public void setWorkUnit(String workUnit)
    {
        this.workUnit = workUnit;
    }

    public String getWorkUnit()
    {
        return workUnit;
    }
    public void setIdCar(String idCar)
    {
        this.idCar = idCar;
    }

    public String getIdCar()
    {
        return idCar;
    }
    public void setOldLoginAccount(String oldLoginAccount)
    {
        this.oldLoginAccount = oldLoginAccount;
    }

    public String getOldLoginAccount()
    {
        return oldLoginAccount;
    }
    public void setIsReset(Integer isReset)
    {
        this.isReset = isReset;
    }

    public Integer getIsReset()
    {
        return isReset;
    }
    public void setDeviceId(String deviceId)
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId()
    {
        return deviceId;
    }
    public void setLastLoginTime(Date lastLoginTime)
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime()
    {
        return lastLoginTime;
    }
    public void setIsDel(Integer isDel)
    {
        this.isDel = isDel;
    }

    public Integer getIsDel()
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("loginAccount", getLoginAccount())
                .append("pwd", getPwd())
                .append("type", getType())
                .append("openId", getOpenId())
                .append("realName", getRealName())
                .append("nickName", getNickName())
                .append("headUrl", getHeadUrl())
                .append("memberLevel", getMemberLevel())
                .append("age", getAge())
                .append("school", getSchool())
                .append("classes", getClasses())
                .append("grade", getGrade())
                .append("relation", getRelation())
                .append("sex", getSex())
                .append("leavelOfEdu", getLeavelOfEdu())
                .append("political", getPolitical())
                .append("duties", getDuties())
                .append("workUnit", getWorkUnit())
                .append("idCar", getIdCar())
                .append("oldLoginAccount", getOldLoginAccount())
                .append("isReset", getIsReset())
                .append("deviceId", getDeviceId())
                .append("lastLoginTime", getLastLoginTime())
                .append("isDel", getIsDel())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

    public TbUser(String loginAccount, String pwd, Integer type, String deviceId) {
        this.loginAccount = loginAccount;
        this.pwd = pwd;
        this.type = type;
        this.deviceId = deviceId;
    }

    public TbUser() {
    }
}